/*     */ package eos.moe.dragoncore;
/*     */ 
/*     */ import java.io.IOException;
/*     */ import java.io.InputStream;
/*     */ import java.io.RandomAccessFile;
/*     */ import java.math.BigInteger;
/*     */ import java.nio.charset.Charset;
/*     */ import java.util.ArrayList;
/*     */ import java.util.Collections;
/*     */ import java.util.List;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class ti
/*     */ {
/*     */   private xn w;
/*  62 */   private xj q = new xj();
/*  63 */   private byte[] g = new byte[4];
/*     */ 
/*     */   
/*     */   public xn v(RandomAccessFile randomAccessFile, Charset charset) throws IOException {
/*  67 */     if (randomAccessFile.length() < 22L) {
/*  68 */       throw new pg("Zip file size less than minimum expected zip file size. Probably not a zip file or a corrupted zip file");
/*     */     }
/*     */ 
/*     */     
/*  72 */     this.w = new xn();
/*     */     
/*     */     try {
/*  75 */       this.w.v(v(randomAccessFile, this.q, charset));
/*  76 */     } catch (pg pg) {
/*  77 */       throw pg;
/*  78 */     } catch (IOException iOException) {
/*  79 */       throw new pg("Zip headers not found. Probably not a zip file or a corrupted zip file", iOException);
/*     */     } 
/*     */     
/*  82 */     if (this.w.v().z() == 0) {
/*  83 */       return this.w;
/*     */     }
/*     */ 
/*     */     
/*  87 */     this.w.v(v(randomAccessFile, this.q, this.w
/*  88 */           .v().v()));
/*     */     
/*  90 */     if (this.w.z()) {
/*  91 */       this.w.v(v(randomAccessFile, this.q));
/*  92 */       if (this.w.v() != null && this.w
/*  93 */         .v().z() > 0) {
/*  94 */         this.w.h(true);
/*     */       } else {
/*  96 */         this.w.h(false);
/*     */       } 
/*     */     } 
/*     */     
/* 100 */     this.w.v(v(randomAccessFile, this.q, charset));
/*     */     
/* 102 */     return this.w;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public dk v(InputStream inputStream, Charset charset) throws IOException {
/* 525 */     dk dk = new dk();
/* 526 */     byte[] arrayOfByte1 = new byte[4];
/*     */ 
/*     */     
/* 529 */     int i = this.q.z(inputStream);
/* 530 */     if (i != ni.c.v()) {
/* 531 */       return null;
/*     */     }
/* 533 */     dk.v(ni.c);
/* 534 */     dk.h(this.q.v(inputStream));
/*     */     
/* 536 */     byte[] arrayOfByte2 = new byte[2];
/* 537 */     if (xe.v(inputStream, arrayOfByte2) != 2) {
/* 538 */       throw new pg("Could not read enough bytes for generalPurposeFlags");
/*     */     }
/* 540 */     dk.t(gd.v(arrayOfByte2[0], 0));
/* 541 */     dk.h(gd.v(arrayOfByte2[0], 3));
/* 542 */     dk.z(gd.v(arrayOfByte2[1], 3));
/* 543 */     dk.z((byte[])arrayOfByte2.clone());
/*     */     
/* 545 */     dk.v(hk.v(this.q
/* 546 */           .v(inputStream)));
/* 547 */     dk.t(this.q.z(inputStream));
/*     */     
/* 549 */     xe.v(inputStream, arrayOfByte1);
/* 550 */     dk.h(this.q.v(arrayOfByte1, 0));
/* 551 */     dk.v((byte[])arrayOfByte1.clone());
/*     */     
/* 553 */     dk.z(this.q.v(inputStream, 4));
/* 554 */     dk.v(this.q.v(inputStream, 4));
/*     */     
/* 556 */     int j = this.q.v(inputStream);
/* 557 */     dk.z(j);
/*     */     
/* 559 */     dk.v(this.q.v(inputStream));
/*     */     
/* 561 */     if (j > 0) {
/* 562 */       byte[] arrayOfByte = new byte[j];
/* 563 */       xe.v(inputStream, arrayOfByte);
/*     */ 
/*     */ 
/*     */       
/* 567 */       String str = dn.v(arrayOfByte, dk.z(), charset);
/*     */       
/* 569 */       if (str == null) {
/* 570 */         throw new pg("file name is null, cannot assign file name to local file header");
/*     */       }
/*     */       
/* 573 */       if (str.contains(":" + System.getProperty("file.separator"))) {
/* 574 */         str = str.substring(str.indexOf(":" + System.getProperty("file.separator")) + 2);
/*     */       }
/*     */       
/* 577 */       dk.v(str);
/* 578 */       dk.v((str.endsWith("/") || str.endsWith("\\")));
/*     */     } else {
/* 580 */       dk.v((String)null);
/*     */     } 
/*     */     
/* 583 */     v(inputStream, dk);
/* 584 */     z(dk, this.q);
/* 585 */     v(dk, this.q);
/*     */     
/* 587 */     if (dk.t())
/*     */     {
/* 589 */       if (dk.v() != wg.q)
/*     */       {
/*     */         
/* 592 */         if (BigInteger.valueOf(dk.z()[0]).testBit(6)) {
/* 593 */           dk.v(wg.w);
/*     */         } else {
/* 595 */           dk.v(wg.i);
/*     */         } 
/*     */       }
/*     */     }
/*     */ 
/*     */     
/* 601 */     return dk;
/*     */   }
/*     */ 
/*     */   
/*     */   public tm v(InputStream inputStream, boolean bool) throws IOException {
/* 606 */     tm tm = new tm();
/*     */     
/* 608 */     byte[] arrayOfByte = new byte[4];
/* 609 */     xe.v(inputStream, arrayOfByte);
/* 610 */     long l = this.q.v(arrayOfByte, 0);
/*     */ 
/*     */ 
/*     */ 
/*     */     
/* 615 */     if (l == ni.r.v()) {
/* 616 */       tm.v(ni.r);
/* 617 */       xe.v(inputStream, arrayOfByte);
/* 618 */       tm.h(this.q.v(arrayOfByte, 0));
/*     */     } else {
/* 620 */       tm.h(l);
/*     */     } 
/*     */     
/* 623 */     if (bool) {
/* 624 */       tm.z(this.q.v(inputStream));
/* 625 */       tm.v(this.q.v(inputStream));
/*     */     } else {
/* 627 */       tm.z(this.q.z(inputStream));
/* 628 */       tm.v(this.q.z(inputStream));
/*     */     } 
/*     */     
/* 631 */     return tm;
/*     */   }
/*     */ }


/* Location:              D:\fanbian\[D][龙之核心]DragonCore-2.6.0.3.jar!\eos\moe\dragoncore\ti.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */